Reading Time: 1 minutes

2024年7月19日に世界中のWindows環境で発生したブルー・スクリーン・オブ・デス(以下、BSOD)は、CrowdStrike Falconセンサーのエンドポイント検出および応答コンポーネントの不具合によるものでした。世界に多大な影響を及ぼしたこのBSODの原因について解説していきます。

BSODを引き起こしたアプリケーション更新フローの仕組み

CrowdStrike Falconのドライバーは、すべてのマシン上でカーネルレベルで動作し、ドライバーソフトウェア自体はOS初期化前の段階でインストールされます。このような脅威検出および応答ドライバーが早期にインストールされることで、マルウェアやその他のペイロードがマシンにインストールされることを防ぐことができます。これらのドライバーは、早期起動アンチマルウェア(以下、ELAM)保護というカテゴリに分類されます。

ELAMドライバーの作成者

ELAMドライバーを作成するベンダーは、Microsoft Virus Initiative(以下、MVI)のメンバーです。MVIは、ツールの利用目的と技術力を検証し、要件を満たすベンダーのみを受け入れます。MVIメンバーとなる条件の一つとして、クライアントマシンでソフトウェアを最新状態に保てるツールのベンダーであることが挙げられます。

CrowdStrike FalconセンサーのELAM更新方法

クライアントマシンは、HTTPSプロトコルを使用しポート443経由でCrowdStrikeクラウドインフラからアップデートを受け取ります。CrowdStrikeは、別のチャネルファイルでクライアントマシンのフォルダーを自動更新しますが、チャネルファイルには、脅威を追跡する検出ルールと、脅威を修正するワークフローが含まれています。

ファイル(C-00000291*.sys)の問題

C-00000291*.sysは、名前付きパイプを作成するチャネルファイルの一つです。
名前付きパイプは、クライアント間、またはサーバーとクライアント間のプロセス通信を促進します。ファイルオブジェクトはマシンのファイルシステムに作成されますが、内容はディスクではなくメモリーに書き込まれます。
マシンの名前付きパイプを確認するには、コマンドプロンプトを開き、次のコードを入力します:[System.IO.Directory]::GetFiles(“\.\pipe\”)

今回BSODを引き起こした原因として、このチャネルファイルのコードに論理エラーがありました。パイプ作成に割り当てられたメモリーが不足していたため、パイプの作成が妨げられ、新しいアップデートに対応するチャネルファイルの実行ができませんでした。クライアントマシンにアップデートを展開する前にテストを実施していれば、BSOD問題は回避できていたかもしれません。

BSODが発生した理由

カーネルレベルの操作は、Windowsマシンのハードウェアとソフトウェアの両方に影響を与えます。言い換えれば、このレベルで何か問題が発生すると、マシンの状態に重大な影響を及ぼす可能性があるということです。そのため、一部のプロセスが失敗すると、Windowsは即座にBSODを表示します。

Falconセンサーが引き起こしたBSODの修正方法

CrowdStrikeはメモリー割り当てエラーを修正していますが、影響を受けたシステムは、アップデートを有効にするために手動で再起動する必要があります。

最後に:

世界に多大な影響を及ぼしたBSOD問題は、円滑な事業運営には強固なセキュリティがいかに大切であるかを我々に知らしめる結果となりました。アップデートの欠陥、設定ミス、デフォルトの資格情報の使用、ユーザーやエンティティに対する緩い権限付与などの安易な設定・操作一つが、ビジネスを崩壊させる危険性を伴っています。セキュリティとリスク要因を常に監視し、長期的視野でセキュリティを確保することが大切です。

本記事はグローバル本社のブログ記事を日本版に修正したものです。
原文はこちらをご参照ください。


フィードバックフォーム

当サイトで検証してほしいこと、記事にしてほしい題材などありましたら、以下のフィードバックフォームよりお気軽にお知らせください。